﻿using System.Drawing;

namespace FeiYang
{
    class 多开器识别_
    {
        public static Rectangle 模拟器一位置 = Rectangle.FromLTRB(54, 155, 218, 179);
        public static Rectangle 模拟器二位置 = Rectangle.FromLTRB(54, 205, 218, 229);
        public static Rectangle 模拟器三位置 = Rectangle.FromLTRB(54, 255, 218, 279);
        public static Rectangle 模拟器四位置 = Rectangle.FromLTRB(54, 305, 218, 329);

        public static Rectangle 状态一位置 = Rectangle.FromLTRB(400, 155, 460, 179);
        public static Rectangle 状态二位置 = Rectangle.FromLTRB(400, 205, 460, 229);
        public static Rectangle 状态三位置 = Rectangle.FromLTRB(400, 255, 460, 279);
        public static Rectangle 状态四位置 = Rectangle.FromLTRB(400, 305, 460, 329);

        public static Point 模拟器一启动位置 = new Point(580, 165);
        public static Point 模拟器二启动位置 = new Point(580, 215);
        public static Point 模拟器三启动位置 = new Point(580, 265);
        public static Point 模拟器四启动位置 = new Point(580, 315);

        public static string[] 识别模拟器标题名()
        {
            var 一 = 图像_.识别文字(模拟器一位置);
            var 一状态 = 图像_.识别文字(状态一位置);
            其他_.打印("模拟器一标题: " + 一);

            var 二 = 图像_.识别文字(模拟器二位置);
            var 二状态 = 图像_.识别文字(状态二位置);
            其他_.打印("模拟器二标题: " + 二);

            var 三 = 图像_.识别文字(模拟器三位置);
            var 三状态 = 图像_.识别文字(状态三位置);
            其他_.打印("模拟器三标题: " + 三);

            var 四 = 图像_.识别文字(模拟器四位置);
            var 四状态 = 图像_.识别文字(状态四位置);
            其他_.打印("模拟器四标题: " + 四);
            return new string[] { 一, 二, 三, 四, 一状态, 二状态, 三状态, 四状态 };
        }
        public static bool 识别模拟器一状态()
        {
            var 状态 = 图像_.识别文字(状态一位置);
            return 状态 == "运行中";
        }
        public static bool 识别模拟器二状态()
        {
            var 状态 = 图像_.识别文字(状态二位置);
            return 状态 == "运行中";
        }
        public static bool 识别模拟器三状态()
        {
            var 状态 = 图像_.识别文字(状态三位置);
            return 状态 == "运行中";
        }
        public static bool 识别模拟器四状态()
        {
            var 状态 = 图像_.识别文字(状态四位置);
            return 状态 == "运行中";
        }
    }
    class 多开器操作_
    {
        public static void 置顶多开器()
        {
            if (窗口_.窗口是最小化的(MainWindow.多开器句柄))
            {
                窗口_.恢复窗口(MainWindow.多开器句柄);
                其他_.延迟(其他_.时长_1000);
            }
            窗口_.置顶窗口(MainWindow.多开器句柄);
            其他_.打印("置顶多开器");
            其他_.延迟(其他_.时长_5000);
        }
        public static void 最小化多开器()
        {
            if (!窗口_.窗口是最小化的(MainWindow.多开器句柄))
            {
                窗口_.最小化窗口(MainWindow.多开器句柄);
                其他_.打印("最小化顶窗口: " + MainWindow.多开器句柄.ToString());
                其他_.延迟(其他_.时长_1000);
            }
        }
        public static void 按序号启动模拟器(int 启动序号)
        {
            Point 位置;
            if (启动序号 == 0)
            {
                位置 = 多开器识别_.模拟器一启动位置;
            }
            else if (启动序号 == 1)
            {
                位置 = 多开器识别_.模拟器二启动位置;
            }
            else if (启动序号 == 2)
            {
                位置 = 多开器识别_.模拟器三启动位置;
            }
            else if (启动序号 == 3)
            {
                位置 = 多开器识别_.模拟器四启动位置;
            }
            else
            {
                其他_.打印("启动的模拟器数量, 超过最大支持数量");
                return;
            }
            置顶多开器();
            键鼠_.左键单击(位置, 150);
            其他_.打印("启动模拟器");
            其他_.延迟(其他_.时长_1000);
            最小化多开器();
            其他_.延迟(其他_.时长_10000);
        }
    }
}
